Tính năng Google_Chrome

Các mục tiêu chính trong thiết kế của Google Chrome là an toàn, tốc độ và ổn định nhưng đơn giản so với các trình duyệt đã có. Bên cạnh cũng có sự thay đổi lớn về giao diện người dùng.[17]. Chrome được biên dịch lại từ 26 thư viện mã nguồn khác nhau lấy từ Google và các bên thứ ba như Netscape.[34]

Bảo mật

Blacklist

Google Chrome tải về theo định kỳ các bản cập nhật của danh sách đen (một cho lừa đảo trực tuyến Phishing và một cho Malware) và cảnh báo người dùng khi họ thăm một trang web độc hại. Dịch vụ này cũng được cung cấp đến người dùng qua một API miễn phí công khai được gọi là "Google Safe Browsing API". Trong tiến trình bảo trì blacklist, Google cũng gửi lưu ý đến chủ nhân của những trang web độc lưu ý đến những phần mềm độc hại trên trang của họ.[17]

Plugin

Các plugin thường cần được chạy với mức độ bảo mật bằng hoặc cao hơn mức bảo mật của trình duyệt. Để giảm khả năng tấn công, plugin được chạy trong các tiến trình riêng biệt được giao tiếp với bộ render, bản thân nó phải chạy với rất ít quyền trong một tiến trình chạy theo tab. Plugin cần phải được điều chỉnh để chạy được với cấu trúc phần mềm trong khi vẫn tuân theo khái niệm quyền ít nhất.[17]

Chrome hỗ trợ Netscape Plugin Application Programming Interface (NPAPI),[35][36] nhưng không hỗ trợ việc nhúng các Active X. Bên cạnh, Chrome cũng không có một hệ thống phần mở rộng như các file *.xpi không phụ thuộc hệ điều hành nền của Mozilla[37] và do đó các phần mở rộng dựa vào XPI như AdBlock (cũ)GreaseMonkey không thể chạy được với Chrome.[38]

Lướt web ẩn danh
Thông báo chế độ ẩn danh của Google Chrome

Có một tính năng duyệt web kín đáo gọi là Chế độ Ẩn danh (Incognito) được cung cấp trong trình duyệt này. Nó ngăn trình duyệt không lưu trữ lại thông tin trong History cũng như cookies từ các trang web đã ghé thăm. Tính năng này tương tự như tính năng lướt web riêng tư đã có trong Internet Explorer 8.[39]

Tốc độ

Chrome sử dụng Máy ảo JavaScript, engine V8 JavaScript, có các tính năng như thế hệ mã năng động, một bộ chạy nền ẩn, và bộ thu dọn dữ liệu dư thừa Máy ảo JavaScript và V8 JavaScript được công nhận là một dự án quan trọng được chia ra (giống như bộ Javascript engine Tamarin của Adobe/Mozilla) và được tiến hành bởi hai nhóm riêng biệt tại Đan Mạch. Mô hình hiện thực đã có được thiết kế "cho các chương trình nhỏ, khi mà sự vận hành và tương tác của hệ thống là không quan trọng" nhưng các ứng dụng web như Gmail "sử dụng các trình duyệt web một cách đầy đủ khi nó sử dụng mô hình DOMJavascript". Kết quả là bộ engine V8 JavaScript, một bộ chạy nền ẩn, bộ sinh mã tự động, và bộ thu dọn dữ liệu dư thừa.[17] Một số trang web thực hiện các bài kiểm tra điểm chuẩn bằng cách sử dụng công cụ Benchmark SunSpider JavaScript.[40]

Sự ổn định

Ảnh chụp màn hình về sự cố trình duyệt Chrome
Đa tiến trình

Nhóm Gears đã công nhận một trình duyệt đa luồng (lưu ý rằng các lỗi xảy ra với các trình duyệt đã tồn tại là sự hiện thực của nó được thừa kế chế độ đơn luồng) và Chrome đã hiện thực khái niệm này với kiến trúc đa tiến trình tương tự với cấu trúc đã được phát triển bởi Opera vào năm 1994[cần dẫn nguồn], hoặc được hiện thực gần đây bởi Internet Explorer 8[cần dẫn nguồn]. Một tiến trình độc lập được sắp xếp vào mỗi tab hoặc plugin.[cần dẫn nguồn] Nó giúp phòng tránh các tác vụ xung đột lẫn nhau, điều này giúp cho bảo mật và tính ổn định; một người tấn công được vào một ứng dụng thì vẫn không thể chiếm quyền điều khiển của toàn bộ, và thất bại trong một ứng dụng sẽ kết thúc bằng màn hình xanh chết chóc. Phương án này sẽ xác định chính xác tài nguyên sử dụng cho mỗi tiến trình nhưng kết quả là một ít bộ nhớ bị phân mảnh trong mỗi tiến trình và chẳng bao lâu nó sẽ cần cấp phát thêm bộ nhớ.[cần dẫn nguồn]

Quản lý tác vụ

Chrome có một công cụ quản lý tiến trình được gọi là hộp Quản lý tác vụ, ở đó cho phép người dùng thấy trang nào chiếm dụng nhiều bộ nhớ nhất, tải về nhiều byte nhất và sử dụng CPU nhiều nhất (cũng như các plugin chạy trong mỗi tiến trình phân biệt) và cho phép bạn tắt các trang đó.[17]

Hỗ trợ ứng dụng

Một tính năng của trình duyệt Chrome (được xem là một trong những lý do chính để Google tạo ra Chrome) đó là trình duyệt hiển thị ở "chế độ khung cửa sổ ứng dụng" (Application Mode). Nó không chỉ đơn giản làm một việc là dấu thanh định hướng (navigation bar), mà nó còn cho phép các trang web phá vỡ các giới hạn của khung trình duyệt hiện tại. Khung trình duyệt được tự do cho phép người dùng load lại trang, điều hướng hoặc đóng cửa sổ lại, là một điều cực kỳ tai hại đối với một ứng dụng đang chỉnh sửa những nội dung quan trọng. Mặc dù điều này chỉ là một thay đổi nhỏ, nhưng nếu thiếu nó thì có nghĩa là không có cách nào để phòng chống việc mất các dữ liệu chưa lưu lại (mà không có sự đầu tư lớn về các cấu trúc AJAX phức tạp). Các tính năng cần thiết khác như tương tác với màn hình, hỗ trợ các định dạng file và truy xuất cơ sở dữ liệu. Điều này giới hạn trình duyệt Chrome không "đụng chạm gì đến việc người dùng đang làm", và cho phép các ứng dụng web chạy như một phần mềm chạy trên máy thông thường (giống với Mozilla PrismFluid).[17]

Giao diện người dùng

Khi Chrome mở rộng tối đa, thanh tiêu đề được ẩn đi, thay vào đó, các thẻ hiển thị lên phần trên cùng. Khi di chuột lên trê một liên kết, URI sẽ được hiển thị lên thanh trạng thái ở dưới cùng bên trái. Hoặc thanh trạng thái sẽ ẩn.Khi Chrome không mở rộng, thanh tiêu đề vẫn hiển thị ở trên các thẻ.

Giao diện sử dụng chính gồm một các nút Back (quay lại trang trước), Forward (chuyển tiếp), refresh (nạp lại), Bookmark (quản lý các địa chỉ yêu thích), Go, option (tùy chọn) và nút cancel option (hủy bỏ tùy chọn). Nút tùy chọn tương tự như Safari, trong khi vị trí của nút cấu hình thì tương tự trong Internet Explorer 7 và 8. Nút nhấn minimize, maximize và close được thiết kế theo phong cách của Windows Vista.

Khi cửa sổ trình duyệt Chrome chưa mở rộng tối đa (maximize), các thẻ (tab bar) hiển thị dưới thanh tiêu đề của cửa sổ. Khi mở rộng tối đa, thanh tiêu đề biến mất và được thay thế hoàn toàn bởi các thẻ được đặt ở trên cùng của màn hình. Không giống các trình duyệt khác như Internet Explorer hay Firefox có chế độ toàn màn hình giúp giấu đi toàn bộ các thành phần của hệ điều hành, Chrome chỉ có thể mở rộng tối đa giống như một cửa sổ ứng dụng thông thường. Do đó, thanh task bar, system tray và start menu vẫn chiếm vùng không gian vào mọi lúc, trừ khi nó được cấu hình để tự động ẩn.

Tương tự các phiên bản mới nhất của trình duyệt Firefox và IE cho phép người dùng điều chỉnh toàn bộ kích thước hiển thị của một trang web, Chrome chỉ cho phép thu nhỏ kích thước chữ mà thôi. Do đó, một trang web với độ rộng 800 pixel thì vẫn là 800 pixel rộng khi người dùng thu nhỏ nó lại. Chỉ có chữ hiển thị chịu ảnh hưởng của việc phóng to/thu nhỏ.

Chrome đã thêm phần Gears để thêm các tính năng cho người phát triển mà có thể trở thành chuẩn web mới, cơ bản để xây dựng các ứng dụng web (và hỗ trợ việc offline).[17]

Chrome thay thế trang chủ (homepage) của trình duyệt thành một tab mới được hiển thị với tên New Tab Page. Nó hiển thị[41] các hình thu nhỏ của chín trang web bạn hay ghé thăm nhất cùng các trang bạn hay tìm kiếm, các bookmark gần đây và các tab vừa đóng.[17] Tính năng này xuất hiện lần đầu tiên trong trình duyệt Opera.

Thanh định hướng (Omnibox) là một hộp chứ địa chỉ URL ở đầu mỗi tab, được xây dựng giống thanh định hướng của Opera. Nó bao gồm chức năng autocomplete, nhưng chỉ autocomplete các địa chỉ URL đã được nhập bằng tay trước đó (chứ không hiển thị toàn bộ các link), các gợi ý tìm kiếm (search suggestions), trang được ghé nhiều nhất, các trang nổi tiếng và các từ khóa đã được tìm kiếm trong history. Bộ máy tìm kiếm có thể được chụp bởi trình duyệt khi sử dụng thông qua giao diện người dùng bình thường bằng cách nhấn phím Tab.[17]

Các cửa sổ popup sẽ "nằm trong tab mà từ đó nó đến" và sẽ không hiển thị ra ngoài tab ngoại trừ khi người dùng rê nó ra ngoài.[17] Cửa sổ popup sẽ không chạy trong tiến trình riêng của nó.

Chrome sử dụng bộ máy render WebKit từ nhóm Android.[17] Giống hầu hết các trình duyệt khác, Chrome được kiểm tra nội bộ trước khi phát hành ra ngoài với các bài test đơn vị, "tự động kiểm tra giao diện người dùng và các hành động của người dùng thông qua các đoạn script" và fuzz testing, cũng như các bài test của bộ WebKit (Chrome vượt qua lần test này tới 99%). Trình duyệt mới được kiểm tra một cách tự động qua chục trang trên tổng số hàng ngàn trang web thường được truy xuất theo bộ máy đánhs ố của Google trong vòng 20-30 phút.[17]

Các thanh Tab là thành phần chính của giao diện Chrome và được đưa lên trên cùng của cửa sổ hơn là đặt ở dưới thanh điều khiển (tương tự Opera). Điều thay đổi này tạo nên sự đối lập với các trình duyệt đã tồn tại đều dựa vào cửa sổ chứa tab. Tab (bao gồm cả trạng thái của chúng) cũng có thể di chuyển qua lại với nhau. Mỗi tab có một bộ điều khiển của riêng nó, bao gồm thanh Omnibox.[17]

Mặc định, Chrome không có thanh trạng thái hiển thị giống như các trình duyệt khác hay đặt ở phía dưới cửa sổ. Nhưng, khi con chuột di chuyển trên một đường link, địa chỉ của đường link đó sẽ xuất hiện ở dưới phía dưới bên trái của trình duyệt.

Ngày 3 tháng 4 năm 2013, Google thông báo rằng Chrome sẽ rẽ nhánh thành phần WebCore của WebKit để tạo động cơ bố trí riêng của mình gọi là Blink trên phiên bản Chrome 28 trở đi. Mã nguồn và cấu trúc cơ bản của Blink sẽ được xây dựng trên cấu trúc hiện tại của WebKit, đon giản hóa các dòng mã lệnh từ bộ nguồn Webkit.

Chủ đề

Có từ Google Chrome 3.0, người dùng có thể cài đặt các chủ đề để thay đổi giao diện của trình duyệt. Nhiều chủ đề miễn phí của bên thứ ba được cung cấp trong một thư viện trực tuyến, có thể truy cập thông qua nút "Tải chủ đề[42]" trong mục cài đặt Chrome[43].

Mối lo ngại theo dõi người dùng

Chrome gửi các thông tin về việc sử dụng cho Google thông qua các cơ chế theo dõi người dùng qua 2 cơ chế: cho phép tùy chỉnh hoặc không cho phép tùy chỉnh.[44][45]

Một số cơ chế theo dõi có thể được bật/tắt thông qua giao diện cài đặt[46] và thông qua hộp thoại tùy chọn của trình duyệt.[47] Các bản xây dựng không chính thức, như SRWare Iron cố tìm cách loại bỏ các tính năng này hoàn toàn khỏi trình duyệt.[48] Tính năng RLZ cũng không bao gồm trong các trình duyệt nhân Chromium.[49]

Vào tháng 3 năm 2010, Google đã nghĩ ra một phương pháp mới để thu thập số liệu thống kê cài đặt: mã thông báo ID duy nhất đi kèm với Chrome. Hiện mã này chỉ được sử dụng cho kết nối đầu tiên mà Google Update thực hiện cho máy chủ của mình.[50]

Dịch vụ đề xuất tùy chọn được thêm vào trong Google Chrome đã bị chỉ trích nặng nề vì nó cung cấp thông tin được nhập vào Thanh địa chỉ trình duyệt cho các nhà cung cấp dịch vụ/nhà quảng cáo thậm chí trước cả khi người dùng nhấn nút quay lại. Điều này cho phép công cụ tìm kiếm cung cấp các đề xuất URL, nhưng cũng cung cấp cho chính Google thông tin sử dụng web gắn với mỗi địa chỉ IP sử dụng Chrome.[51]

Phương pháp lưu vết
Phương pháp[48]Thông tin được gửiKhi nàoTính tùy chỉnh?
Cài đặtMã thông báo được tạo ngẫu nhiên trong trình cài đặt. Được sử dụng để đo tỷ lệ thành công của Google Chrome.[52]Trong bộ càiKhông
RLZ identifier[53]Các xâu mã hóa, theo Google, chứa các thông tin không nhận diện như thời điểm cài đặt Chrome.[52][54]
  • Mỗi 24 giờ
  • Khi truy vấn tìm kiếm bằng Google
  • Khi "các sự kiện đáng chú ý xảy ra"
Không
clientID[47]Định danh duy nhất sử dụng để thống kê dịch vụKhông biết
Đề nghị[47]Gõ ký tự vào thanh địa chỉTrong khi đang được gõ
Page not found
(Không tìm thấy trang)
Gõ ký tự vào thanh địa chỉTrong khi nhận phản hồi "Server not found" (Không tìm thấy máy chủ)
Bug tracker
(Lưu vết lỗi)
Chi tiết về các lỗi và hư hạiKhông biết

Một số cơ chế lưu vết có thể tùy ý được kích hoạt hoặc vô hiệu hóa thông qua giao diện khi cài đặt[cần dẫn nguồn] và hộp thoại tùy chọn của trình duyệt.[47] Một chương trình phần mềm miễn phí có tên gọi UnChrome cũng có thể xóa thông tin clientID được lưu trên ổ cứng.[55] Những phiên bản không chính thức, như SRWare Iron, cố gắng gỡ bỏ hoàn toàn mọi tính năng lưu vết trên khỏi trình duyệt.[48] Tính năng RLZ cũng không có trong trình duyệt Chromium.[52]

Tài liệu tham khảo

WikiPedia: Google_Chrome http://blogoscoped.com/archive/ng%C3%A0y http://blogoscoped.com/google-chrome/ http://gearsblog.blogspot.com/2010/02/hello-html5.... http://blogs.cisco.com/collaboration/open-source-h... http://news.cnet.com/8301-13515_3-10037406-26.html http://news.cnet.com/8301-13860_3-10031661-56.html... http://news.cnet.com/8301-17939_109-10030962-2.htm... http://foliovision.com/2008/12/09/adwords-ppc-orga... http://ap.google.com/article/ALeqM5hHvkt5UkooUX1ot... http://books.google.com/books?id=8UsqHohwwVYC&prin...